
/**  
 * @Title WXBizMsgCryptUtil.java
 * @date 2016年1月19日 下午6:42:18
 * @Copyright (c) 2016, unibroad.com Inc. All rights reserved.
 */
package weixin.util;

/**
 * @Description 微信消息解密
 * @Class com.unibroad.touchus.user.center.common.utils.WXBizMsgCryptUtil
 * @author suan@unibroad.com
 * @version V1.0
 */
public class WXBizMsgCryptUtil {

	/**
	 * 解密微信消息
	 * 
	 * @param msgSignature
	 *            加密签名
	 * @param timestamp
	 *            时间戳
	 * @param nonce
	 *            随机数
	 * @param encrypt_type
	 *            加密类型
	 * @param originalXml
	 *            消息xml内容
	 * @return
	 */
	public static String decryptMsg(String msgSignature, String timestamp, String nonce, String encrypt_type,
			String originalXml) {

		// 明文形式
		if (encrypt_type == null || encrypt_type.equals("raw")) {
			return originalXml;
		}

		// try {
		// WXBizMsgCrypt pc = new
		// WXBizMsgCrypt(SysConstants.WEIXIN_MSG_INTERACTIVE_TOKEN,
		// SysConstants.WEIXIN_MSG_INTERACTIVE_EncodingAESKey,
		// SysConstants.WEIXIN_APP_ID);
		// return pc.decryptMsg(msgSignature, timestamp, nonce, originalXml);
		// } catch (Exception e) {
		// LOG.error("decryptMsg wx msg exception,msgSignature=" + msgSignature
		// + " ,timestamp=" + timestamp
		// + " ,nonce=" + nonce + " \noriginalXml=" + originalXml, e);
		// }
		return null;
	}

	/**
	 * 对需要回复的原文进行加密重新封装
	 * 
	 * @param timestamp
	 *            时间戳
	 * @param nonce
	 *            随机数
	 * @param replyXml
	 *            需要回复的xml
	 * @return 重新加密后的xml
	 */
	public static String encryptMsg(String timestamp, String nonce, String replyXml) {
		// try {
		// WXBizMsgCrypt pc = new
		// WXBizMsgCrypt(SysConstants.WEIXIN_MSG_INTERACTIVE_TOKEN,
		// SysConstants.WEIXIN_MSG_INTERACTIVE_EncodingAESKey,
		// SysConstants.WEIXIN_APP_ID);
		// return pc.encryptMsg(replyXml, timestamp, nonce);
		// } catch (Exception e) {
		// LOG.error("encryptMsg wx msg exception,timestamp=" + timestamp + "
		// ,nonce=" + nonce, e);
		// }
		return null;
	}
}
